package com.example.vue_shop.components.rights.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.vue_shop.components.rights.entity.Rights;
import com.example.vue_shop.components.rights.entity.TreeRights;

import java.util.List;
import java.util.Map;

/**
 * @author lipengwei
 */
public interface RightsService {

    /**
     * 获取权限列表
     * @param pageNum 页数
     * @param pageSize 每页显示的数量
     * @return
     */
    Map<String, Object> getRightsList();

    /**
     * 获取权限列表
     * @param roleId 角色Id
     * @return List<Rights>
     */
    List<Rights> getRightsList(int roleId);

    /**
     * 获取所有的权限列表(树形结构含分页).
     * @param pageNum 页数
     * @param pageSize 当前页显示的数量
     * @return List<TreeRights>
     */
    Map<String, Object> getAllRightsTreePage(int pageNum, int pageSize);

    /**
     * 获取所有的权限列表.
     * @return List<TreeRights>
     */
    List<TreeRights> getAllRightsTree();

    /**
     * 获取全部权限list.
     * @return List<Rights>
     */
    List<Rights> getAllRightsList();

    /**
     * 新增权限.
     * @param rights 权限对象
     */
    void addRights(Rights rights);

    /**
     * 更新权限.
     * @param rights 权限对象
     */
    void updateRights(Rights rights);

    /**
     * 删除权限.
     * @param id 权限Id
     */
    void delRights(int id);
}
